const {
  baseUrl,
  getRequest,
  postRequest
} = require("../../../utils/request.js")
const {
  login_flag,
  mock_flag
} = require("../../../data/index.js")
const {
  userDesc_mock
} = require("../../../mock/user.js")
Page({
  data: {
    //用户id
    userId: 0,
    //用户详情
    userDesc: '',
    //弹出框
    userImgShow: false,
    nicknameShow: false,
    userSexShow: false,
    phoneShow: false,
    //性别选择
    userSexList: ['男', '女'],
    userSexChoice: '',
  },
  onLoad(options) {
    //初始化数据
    this.setData({
      userId: wx.getStorageSync('userId')
    })
    //mock数据
    if (mock_flag) {
      this.setData({
        userDesc: userDesc_mock,
      })
    }
    //网络请求
    if (!mock_flag) {
      this.http_user_findById() //查询用户信息
    }

  },
  /**
   * 跳转
   */
  //个人中心
  to_user() {
    wx.switchTab({
      url: '/pages/user/index/index',
    })
  },
  /**
   * 修改头像
   */
  //打开弹出框
  onUserImgDialogOpen() {
    this.setData({
      userImgShow: true
    })
  },
  //关闭弹出框
  onUserImgDialogClose() {
    this.setData({
      userImgShow: false
    })
  },
  //跳转到相机页面
  onCameraPage() {
    wx.navigateTo({
      url: '/pages/user/desc/camera/take/take',
    })
  },
  //获取本地相册图片
  onGetLocalImg() {
    // 调用 chooseImage 方法选择图片
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album'],
      success: (res) => {
        //修改头像
        const tempFilePath = res.tempFilePaths[0];
        if (!mock_flag) {
          this.http_user_updateUserImg(tempFilePath)
        }
        //关闭弹窗
        this.setData({
          userImgShow: false
        });
      },
      fail: (err) => {
        console.error('选择图片失败：', err);
      },
    })
  },
  /**
   * 修改性别
   */
  //打开
  onUserSexDialogOpen() {
    this.setData({
      userSexShow: true
    })
  },
  //关闭
  onUserSexDialogClose() {
    this.setData({
      userSexShow: false
    })
  },
  //性别选择-改变事件
  onUserSexDialogChange(event) {
    const {
      picker,
      value,
      index
    } = event.detail;
    console.log(event.detail.value)
    this.setData({
      userSexChoice: event.detail.value
    })
  },
  //性别选择-确定事件
  onUserSexDialogOk() {
    if (mock_flag) {
      this.setData({
        userSex: this.data.userSexChoice,
      })
    }
    if (!mock_flag) {
      this.http_user_updateSex(this.data.userSexChoice)
    }
    this.setData({
      userSexShow: false
    })
  },
  /**
   * 退出登录
   */
  logout() {
    wx.showModal({
      title: '确定要退出登录吗',
      placeholderText: "请输入信息",
      success(res) {
        if (res.confirm) {
          //清理本地数据缓存
          wx.clearStorage()
          //跳转到登录页面
          if(login_flag){
            wx.redirectTo({
              url: '/pages/user/wxlogin/wxlogin'
            });
          }
          if(!login_flag){
            wx.redirectTo({
              url: '/pages/user/login/login'
            });
          }
        } else if (res.cancel) {
          //console.log('用户点击取消')
        }
      }
    })
  },
  /**
   * 网络请求
   */
  //查询用户详情
  http_user_findById() {
    getRequest(baseUrl + "/front/user/findById", {
      userId: this.data.userId
    }).then(res => {
      //console.log(res.data)
      if (res.code == 200) {
        this.setData({
          userDesc: res.data
        })
      }
    })
  },
  //修改头像
  http_user_updateUserImg(userImg) {
    postRequest(baseUrl + "/front/user/updateUserImg", {
      userId: this.data.userId,
      userImg: userImg
    }).then(res => {
      if (res.code == 200) {
        this.http_user_findById()
        wx.showToast({
          title: '修改成功',
          icon: 'success',
          duration: 2000
        })
      }
    })
  },
  //修改性别
  http_user_updateSex(userSex) {
    postRequest(baseUrl + "/front/user/updateUserSex", {
      userId: this.data.userId,
      userSex: userSex
    }).then(res => {
      if (res.code == 200) {
        this.http_user_findById()
        wx.showToast({
          title: '修改成功',
          icon: 'success',
          duration: 2000
        })
      }
    })
  },
})